One type of high density programmable logic devices ("PLDs") is the in-system programmable Large Scale Integration (ispLSI) devices from Lattice Semiconductor Corporation, Hillsboro, Oreg. An ispLSI device is reprogrammable in its application without being removed from the circuit board. Programmable logic devices can also be implemented in both volatile and non-volatile memory technologies (e.g. electrical erasable programmable read-only memory or EEPROM). High density programmable logic devices, such as the ispLSI devices, are often referred to as "complex PLDs." In a complex PLD, programmable logic functions are configured by programming a number of programmable logic blocks, each programmable logic block is typically implemented by an array of logic gates and registers and has a number of input and output signals.
In a complex PLD, increased functionality often results in increased device size, increased power consumption and increased cost. Therefore, previous programmable logic devices have had significant limitations, including a lack of routing symmetry and the absence of power-up state programmability.